package com.power.ding.api;

import com.plf.common.domain.ResponseDTO;
import com.power.ding.model.Di_user;
import com.power.ding.model.pojo.bo.Di_rel_dept_BaseUser;
import org.springframework.data.repository.query.Param;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.power.ding.model.Di_rel_dept_correct;
import com.power.ding.model.pageInfo.Di_rel_dept_correctPageInfo;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 *  司法社矫组织机构表 Feign
 */
public interface IDi_rel_dept_correctFeign {

    /**
     * 司法社矫组织机构表分页列表
     */
    @PostMapping("/di_rel_dept_correct/list")
    ResponseDTO list(@RequestBody Di_rel_dept_correctPageInfo di_rel_dept_correctPageInfo);

    /**
    * 查看司法社矫组织机构表
    */
    @GetMapping("/di_rel_dept_correct/view")
    ResponseDTO view(@RequestParam("id") String id);

    /**
    * 删除司法社矫组织机构表
    */
    @PostMapping("/di_rel_dept_correct/delete")
    ResponseDTO delete(@RequestParam("id") String id);

    ///**
    // * 查看司法社矫组织机构表 复合主键使用
    // */
    //@PostMapping("/di_rel_dept_correct/viewByPK")
    //ResponseDTO viewByPK(@RequestBody Di_rel_dept_correct.Di_rel_dept_correctPK pk);

    /**
     * 修改或保存司法社矫组织机构表
     */
    @PostMapping("/di_rel_dept_correct/save")
    ResponseDTO save(@RequestBody Di_rel_dept_correct  di_rel_dept_correct);

    ///**
    // * 删除司法社矫组织机构表 复合主键使用
    // */
    //@PostMapping("/di_rel_dept_correct/deleteByPK")
    //ResponseDTO deleteByPK(@RequestBody Di_rel_dept_correct.Di_rel_dept_correctPK pk);
    
    /**
     * 批量删除司法社矫组织机构表
     */
    @PostMapping("/di_rel_dept_correct/batchDel")
    ResponseDTO batchDel(@RequestParam("ids") String ids);
    
     /**
     * 导出excel
     */
    @PostMapping("/di_rel_dept_correct/output")
    void output(HttpServletResponse response, @RequestBody Di_rel_dept_correctPageInfo di_rel_dept_correctPageInfo);
        
     /**
     * 导出excel模板
     */
    @PostMapping("/di_rel_dept_correct/exportExcelTemplate")
    void exportExcelTemplate(HttpServletResponse response);
    
     /**
     *	导入excel
     */
    @PostMapping("/di_rel_dept_correct/importExcel")
    ResponseDTO importExcel(@RequestBody MultipartFile file) throws IOException ;

    /**
     * 获取司法组织树结构数据
     */
    @GetMapping("/di_rel_dept_correct/getQueryTree")
    ResponseDTO getQueryTree();

    /**
     * 分页查询司法社矫组织机构表和用户表
     */
    @PostMapping("/di_rel_dept_correct/queryPageDaptAndUser")
    ResponseDTO queryPageDeptAndUser(@RequestBody Di_rel_dept_correctPageInfo di_rel_dept_correctPageInfo);


    /**
     * 通过user参数查询司法所人员
     */
    @PostMapping("/di_rel_dept_correct/queryBaseOrgUserByUser")
    ResponseDTO queryBaseOrgUserByUser(@RequestBody(required = false)  Di_rel_dept_BaseUser baseUser);

    /**
     * 查询司法所本级的人员
     */
    @PostMapping("/di_rel_dept_correct/queryBaseOrgUser")
    ResponseDTO queryBaseOrgUser();


    /**
     * 查询司法所本级的组织组织及人员 树层级结构数据
     */
    @PostMapping("/di_rel_dept_correct/queryBaseOrgTree")
    ResponseDTO queryBaseOrgTree();

    /**
     * 根据手机查询用户信息
     */
    @GetMapping("/di_rel_dept_correct/queryUserByMobile")
    ResponseDTO queryUserByMobile(@RequestParam("mobile") String mobile);
    /**
     * 根据部门id获取用户信息
     */
    @GetMapping("/di_rel_dept_correct/queryDeptAndUserById")
    ResponseDTO queryDeptAndUserById(@RequestParam("id") String id);

    /**
     * 修改部门关联用户
     */
    @PostMapping("/di_rel_dept_correct/updataContactuser")
    ResponseDTO updataContactuser(@RequestBody Di_rel_dept_correct  di_rel_dept_correct);

}
